
//记忆搜索法

// let num = 6
// let f = []
// var climbStairs = function (n) {
//     if (n == 1) {
//         return 1
//     }
//     if (n == 2) {
//         return 2
//     }
//     if (f[n] == undefined) {
//         f[n] = climbStairs(n - 1) + climbStairs(n - 2)
//     }
//     return f[n];

// };
// console.log(climbStairs(num));


// 动态规划法
//从起点开始
// 已知
// f[1]=1
// f[2]=2

let num = 6
var climbStairs = function (n) {
    let f = []
    f[1] = 1
    f[2] = 2
    for (let i = 3; i <= n; i++) {
        f[i] = f[i - 1] + f[i - 2]
    }
    return f[n]
};
console.log(climbStairs(num));